#ifndef	FENETRE
#define	FENETRE
/*#ifndef TEST
#define TEST*/
#define BOOL bool
#define TRUE true
#define FALSE false
#define IF if
#define ELSE else
#include <QApplication>
#include <QTextEdit>
#include <QPushButton>
#include <QLineEdit>
#include <QWidget>
#include <QLabel>
#include <QString>
#include <QGroupBox>
#include <QDialog>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QGridLayout>
#include <QMessageBox>
#include <QFormLayout>
#include <QCryptographicHash>
#include <math.h>
#include <stdlib.h>
#include <string.h>
/*class HashMd5 : public QCQryptographicHash
{

    Q_OBJECT

        public:
            HashMd5( Algorithm method );

};*/

class Fenetre : public QWidget
{
	Q_OBJECT

	public:
            Fenetre();
            QString   HASHMD5(qulonglong);





	public slots:

                        void desoler();
        // -- FONCTIONS POUR M_DIALOG_CRYPTEUR -- //

            void             edit0();
            void             edit1();
            void             edit2();
            void             edit3();
            void             c_crypt();
            void             ok0();
            void             appliquer0();
            void             ok1();
            void             appliquer1();
            void             ok2();
            void             appliquer2();
            void             ok3();
            void             appliquer3();
            void             verifier();
            BOOL             verifierHashMd5(QString,QString*);
            //static QString   HASHMD5(qulonglong);

        // -- FIN DES FONCTIONS POUR M_DIALOG_CRYPTEUR

		// -- FONCTIONS POUR M_DIALOG_DECRYPTEUR -- //

            void appliquer4();
            void ok4();
            void verifier_decryptage();

        // -- FIN DES FONCTIONS POUR M_DIALOG_DECRYPTEUR -- //
            void decrypt();




	private:
        // -- VARIABLE POUR LE MENU -_-' -- //

            QPushButton *m_crypteur;
            QPushButton *m_decrypteur;
        #ifdef TEST
            QPushButton *m_test;
        #endif
            QPushButton *m_about;
            QPushButton *m_quitter;

        // -- VARIABLE POUR M_DIALOG_CRYPTEUR -- //

            QPushButton *m_generer_crypteur;
            QPushButton *m_annuler_crypteur;
            QPushButton *m_appliquer_1;
            QPushButton *m_appliquer_2;
            QPushButton *m_appliquer_3;
            QPushButton *m_appliquer_4;
            QPushButton *m_ok_1;
            QPushButton *m_ok_2;
            QPushButton *m_ok_3;
            QPushButton *m_ok_4;
            QPushButton *m_edit_1;
            QPushButton *m_edit_2;
            QPushButton *m_edit_3;
            QPushButton *m_edit_4;
            QPushButton *m_verifier_crypteur;
            QLabel      *m_label[20]; // -- TABLEAU POUR DIVERS QDialog :P -- //
            QGroupBox   *m_groupBox_crypteur;
            QLabel      *m_live_crypteur;
            QLabel      *m_live_en_ce_moment;
            QDialog     *m_dialog_crypteur;
            QDialog     *m_crypt;
            QDialog     *m_dialog_decrypteur;
            QDialog     *m_decrypt;
            QLineEdit   *m_lineEdit[20];
            QLineEdit   *m_vlineEdit[10];
            QTextEdit   *m_textEdit[5];
            QString     *m_string[10];
            bool         m_ver_1;
            bool         m_ver_2;
            bool         m_ver_3;
            bool         m_ver_4;
            QString      aDecrypter;

        // -- FIN DES VARIABLES POUR M_DIALOG_CRYPTEUR -- //

        // -- Variable POUR M_DIALOG_DECRYPTEUR -- //

            QPushButton *m_generer_decrypteur;
            QPushButton *m_appliquer_5;
            QPushButton *m_edit_5;
            QPushButton *m_verifier_decrypteur;
            QPushButton *m_retour_decrypteur;
            QPushButton *m_ok_5;

        // -- FIN DES VARIABLES POUR M_DIALOG_DECRYPTEUR -- //

        // -- VARIABLE POUR M_DECRYPT -- //

            QString      m_a;
            QString      m_b;
            QString      m_c;
            QString      m_d;
            QPushButton *m_retour_decrypt;

        // -- VARIABLE POUR M_APROPOS //

            QDialog     *m_dialog_apropos;
            QTextEdit   *m_textEdit_apropos;
            QPushButton *m_fermer;
};
//#endif
#endif
